// 系统主题样式, 菜单主题样式, 用户信息, 设置中心, 多标签类型定义

// 整个系统的主题样式枚举
export enum SystemThemeEnum {
    LIGHT = 'light',     // 白色主题
    DARK = 'dark',      // 黑色主题
    AUTO = 'auto'      // 跟随系统主题
}

// 系统主题样式
export interface SystemThemeType {
    theme: SystemThemeEnum // 主题名称
    background: string // 背景色
    systemNameColor: string // 系统标题颜色
    textColor: string // 文字颜色
    textActiveColor: string // 文字选中颜色
    iconColor: string // 图标颜色
    iconActiveColor: string // 图标选中颜色
    tabBarBackground: string // 顶栏背景色
    systemBackground: string // 系统背景色
    leftLineColor: string // 左侧线条颜色
    rightLineColor: string // 右侧线条颜色
}

// 侧边栏菜单主题枚举
export enum MenuThemeEnum {
    DARK = 'dark',    // 黑色主题
    LIGHT = 'light',    // 白色主题
    DESIGN = 'design'    // 设计师模式主题
}

// 侧边栏菜单主题样式
export interface MenuThemeType {
    theme: MenuThemeEnum // 主题名称
    background: string // 背景色
    systemNameColor: string // 系统标题颜色
    textColor: string // 文字颜色
    textActiveColor: string // 文字选中颜色
    iconColor: string // 图标颜色
    iconActiveColor: string // 图标选中颜色
    tabBarBackground: string // 顶栏背景色
    systemBackground: string // 系统背景色
    leftLineColor: string // 左侧线条颜色
    rightLineColor: string // 右侧线条颜色
}

// 系统配置
export interface SystemConfig {
    aside: SidebarConfig,    // 侧边栏配置
    header: HeaderConfig, // 头部配置
    main: MainConfig, // 内容配置
    footer: FooterConfig, // 页脚配置
    theme: ThemeConfig // 主题配置
}

// 侧边栏配置
export interface SidebarConfig {
    showLogo: boolean // 是否显示logo
    isCollapse: boolean // 是否折叠
    withoutAnimation: boolean // 是否无动画效果
}

// 头部配置
export interface HeaderConfig {
    isFixed: boolean // 是否固定头部
    isDrawer: boolean // 是否显示抽屉按钮
    showCollapse: boolean // 是否显示折叠按钮
    showRefresh: boolean // 是否显示刷新按钮
    showBreadCrumb: boolean // 是否显示面包屑
    showSearch: boolean // 是否显示搜索框
    showFullScreen: boolean // 是否显示全屏按钮
    showNotify: boolean // 是否显示通知
    showLang: boolean // 是否显示语言按钮
    language: string // 语言
    showSetting: boolean // 是否显示设置按钮
    showDoc: boolean // 是否显示帮助文档按钮
    showProfile: boolean // 是否显示个人信息按钮
    showTagsView: boolean // 是否显示多标签按钮
    showTagsViewBar: boolean // 是否显示多标签操作按钮
}

// 内容配置
export interface MainConfig {
    isKeepAlive: boolean // 是否缓存页面
    showPadding: boolean // 是否显示内边距
}

// 页脚配置
export interface FooterConfig {
    showFooter: boolean // 是否显示页脚
    content: string // 内容
}

// 主题配置
export interface ThemeConfig {
    system: SystemThemeEnum // 系统主题
    menu: MenuThemeEnum // 菜单主题
    showBorder: boolean // 是否显示边框
    showGlass: boolean // 是否显示玻璃效果
    showBorderRadius: boolean // 是否显示圆角
    showShadow: boolean // 是否显示阴影
}